import {jsonPost, reqGet} from '@/utils/request';

/**
 * POST 查询业务数据
 * @param params object 请求参数。数据结构见 './queryJson' 文件
 * @param options
 */
export async function dataQuery(params, options = {}) {
  return jsonPost(`/api/data_query/query`, params, options);
}
export async function dataQueryAll(params, options = {}){
  return jsonPost(`/api/data_query/query_all`, params, options);
}

/**
 * GET 数据查询服务
 * @param params object 请求参数。{entityId: '数据 id', props: '字段名，逗号分隔', appCode: 'appCode'}
 * @param options
 */
export async function fetchProps(params, options = {}) {
  return reqGet(`/api/data_query/fetch_properties`, params, options);
}

/**
 * 获取异步任务的进度和结果
 * @param params {{taskGroup: string, statusKey: string}}
 * @param options
 * @return {Promise<any>}
 */
export async function fetchTaskResult(params, options = {}) {
  return reqGet('/api/async/prolonged_task/result', params, options);
}


/**
 * 获取用户信息（所属站点、部门、责任中心、关联员工）
 * @param params
 * @param option
 * @returns {Promise<any>}
 */
export async function fetchCurrentUserInfo(params, option) {
  return reqGet(`/api/security/auth/get_current_user_info`,params, option);
}

/***
 * 提取指定属性并返回实体
 * @param params {appCode,entityId,props}
 * @param option
 * @returns {Promise<any>}
 */
export async function fetchProperties(params, option) {
  return reqGet(`/api/data_query/fetch_properties`,params, option);
}

/**
 *提取指定属性，返回为属性的数据类型
 * @param params {appCode,entityId,property,formatSimple:true}
 * @param option
 * @returns {Promise<any>}
 */
export async function fetchProperty(params, option) {
  return reqGet(`/api/data_query/fetch_property`,params, option);
}
